\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{color}
\usepackage{listings}
\usepackage[margin=1in]{geometry}
\usepackage[T1]{fontenc}
\title{FRC Programming Introduction v2.0}
\author{Noah Sutton-Smolin\\Yousuf Soliman\\Kian Sheik}

\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\definecolor{black}{rgb}{0,0,0}

\lstset{frame=tb,
  language=Java,
  aboveskip=3mm,
  belowskip=3mm,
  showstringspaces=false,
%  columns=flexible,
  basicstyle={\small\ttfamily},
  numbers=none,
  numberstyle=\tiny\color{gray},
  keywordstyle=\color{blue},
  commentstyle=\color{black},
  stringstyle=\color{mauve},
  breaklines=true,
  breakatwhitespace=true
  tabsize=2
}

\begin{document}
\maketitle

\section{Introduction}

This introduction to FRC programming assumes pre-existing Java programming knowledge and basic syntax understanding.

If you do not have a fundamental understanding of Java, that is fine, however, to write code for FRC, you will need to learn the basic syntax. You may want to take a look at these links, as well as look into Java on your own:

\begin{lstlisting}
http://docs.oracle.com/javase/tutorial/java/
http://www.tutorialspoint.com/java/
http://chortle.ccsu.edu/CS151/cs151java.html
\end{lstlisting}

Programming for FRC will require a configured Netbeans and Subversion environment. This document is designed to walk you through the setup process. While a Windows computer is not \textit{required} for FRC development, it is highly recommended. Once you have completed the FRC introduction sets, you may be given commit access to the FRC repository.

\section{Setting up the NetBeans environment}

\textbf{Once you have completed these steps, it is highly recommended that you download the \lstinline{svn/doc} folder and look through it.}

The entire API we have written has javadoc, which means that hovering over a function will show the description, parameters, and return values.

\subsection{Installing and configuring the FRC environment}
\begin{enumerate}
\item{Download and install Netbeans 7.3.1 \textit{specifically} (you will need the latest Java Development Kit (JDK))}
\item{Go to $Tools \rightarrow Plugins \rightarrow Settings \rightarrow Add$}
\item{Enter ``FRC Java'' under New Provider}
\item{Enter the following link under URL: \lstinline{http://first.wpi.edu/FRC/java/netbeans/update/Release/updates.xml}}
\item{Go to the Available Plugins tab and click ``Check for Newest.''}
\item{Find all plugins that start with ``FRC'' and select them. Install those.}
\item{Close the Plugins dialog and restart NetBeans.}
\item{Go to $Tools\rightarrow Options\rightarrow Miscellaneous\rightarrow FRC\ Configuration$ and enter 3128 (or your team number) under ``Team Number''}
\item{Click OK}
\end{enumerate}

Once you have checked out the introductory tasks, you can open them by going to $File\rightarrow Open\ Project\ldots$ and finding the Java project.

\subsection{Checking out projects with Subversion in NetBeans}
\begin{enumerate}
\item{Go to $Team\rightarrow Subversion\rightarrow Checkout$ (there may be an option to check out without going through the Subversion menu).}
\item{Enter the repository URL:\lstinline{https://frc-team-3128.googlecode.com/svn/} and leave the username and password blank.}
\item{Select and open all projects.}
\end{enumerate}

The NetBeans Subversion menu is available by right clicking in the Projects pane; it is available at every scope. \textbf{Please do not commit private.xml.}

\section{Running the introductory tasks}

The tutorials are part of the intro projects; if you checked them out to the standard directory, yours will be located in $C:\textbackslash Users\textbackslash\{username\}\textbackslash My Documents\textbackslash NetBeansProjects\textbackslash intro\textbackslash$ (Windows 7). All of the information about the introductory tasks is located in \lstinline{latex/Programming Tasks.pdf}. There are five subdirectories in the intro folder. Each subdirectory contains its own refined project, each corresponding to the section headings in \lstinline{Programming Tasks.pdf}. 

Once you've worked through one of these, call one of the programmers over and we will look through and comment on your code. Once you've completed a task, you are free to move on to the next one. 

Welcome to FRC Robotics Programming! \textbf{Remember: Ask questions, get answers!} If you aren't asking questions, you're doing something wrong.

\end{document}

